using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using VOL.Entity.DomainModels;

namespace VOL.demo.IRepositories
{
    public partial interface IPurchaseOrderModelRepository
    {
        /// <summary>
        /// 分页查询进货订单（带关联查询和计算字段）
        /// </summary>
        /// <param name="pageIndex">页码</param>
        /// <param name="pageSize">每页记录数</param>
        /// <param name="orderCode">进货单号</param>
        /// <param name="status">单据状态</param>
        /// <param name="supplierId">供应商ID</param>
        /// <param name="orderDate">进货日期</param>
        /// <returns>分页结果</returns>
        Task<(List<PurchaseOrderModel> Data, int TotalCount)> GetPurchaseOrderPageListAsync(
            int pageIndex, 
            int pageSize, 
            string orderCode = null, 
            int? status = null, 
            long? supplierId = null, 
            DateTime? orderDate = null);
    }
}
